// 箭头函数和普通函数有什么不同，如何判断一个函数是普通函数还是箭头函数

// new 的内部实现
function myNew() {
  let obj = {}
  let _constructor = Array.prototype.shift.call(arguments)
  obj.__proto__ = _constructor.prototype

  let ret = _constructor.apply(obj, arguments)
  return typeof ret === 'Object' && ret !== null ? ret : obj

}


function Test(name) {
  this.name = name
}

let a = myNew(Test, 'Hello')
console.log(a.name);